package main

import (
	"fmt"
	"net"
	"study/14_practice_chat/processor"
)

func main() {
	conn, err := net.Dial("tcp", "127.0.0.1:8080")
	if err != nil {
		fmt.Println("client dial err=", err)
		return
	}
	fmt.Println("客户端连接服务端【127.0.0.1:8080】成功！")
	// 构建结构体发送给服务端
	// var request common.RequestBody = common.RequestBody{
	// 	DataType: "test type",
	// 	Data:     "test data",
	// }
	// err = utils.WriteRequest(conn, request)
	// if err != nil {
	// 	fmt.Println("发送请求异常！", err)
	// }
	// fmt.Println("发送请求OK！", request)

	// 读取响应
	// var response common.ResponseBody
	// response, err = utils.ReadResponse(conn)
	// if err != nil {
	// 	fmt.Println("读取服务端响应失败！", err)
	// }
	// fmt.Println("服务端响应：", response)

	// 接受用户的输入用户名和密码
	var username string
	var password string
	clientUserProcessor := processor.ClientUserProcessor{
		Conn: conn,
	}
	for {
		fmt.Printf("请输入用户名：")
		_, err = fmt.Scanf("%s\r", &username)
		if err != nil {
			fmt.Println("read username err=", err)
		}
		fmt.Printf("请输入密码：")
		_, err = fmt.Scanf("%s\r", &password)
		if err != nil {
			fmt.Println("read password err=", err)
		}

		// 发送请求

		err = clientUserProcessor.Login(username, password)
		if err != nil {
			fmt.Println("login failure, reson is : ", err)
		} else {
			fmt.Println("login cuccess!")
			break
		}
	}
	defer conn.Close()
	return
}
